/**
 * Created by Administrator on 2017/5/19.
 */

function showMap() {
    var nowLngLat=[];	//当前坐标
    var myMap = new AMap.Map('map',{
        zoom : 12
    });
    //精准定位
    myMap.plugin('AMap.Geolocation', function () {
        var geolocation = new AMap.Geolocation({
            enableHighAccuracy: true,//是否使用高精度定位，默认:true
            timeout: 5000,          //超过5秒后停止定位，默认：无穷大
            maximumAge: 0,           //定位结果缓存0毫秒，默认：0
            convert: true,           //自动偏移坐标，偏移后的坐标为高德坐标，默认：true
            showButton: true,        //显示定位按钮，默认：true
            buttonPosition: 'LB',    //定位按钮停靠位置，默认：'LB'，左下角
            buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量，默认：Pixel(10, 20)
            showMarker: true,        //定位成功后在定位到的位置显示点标记，默认：true
            showCircle: true,        //定位成功后用圆圈表示定位精度范围，默认：true
            panToLocation: true,     //定位成功后将定位到的位置作为地图中心点，默认：true
            // zoomToAccuracy:true      //定位成功后调整地图视野范围使定位位置及精度范围视野内可见，默认：false
        });
        myMap.addControl(geolocation);
        geolocation.getCurrentPosition();
        AMap.event.addListener(geolocation, 'complete', onComplete);//返回定位信息
        AMap.event.addListener(geolocation, 'error', onError);      //返回定位出错信息
    });
    function onComplete(res){   	//定位成功
        nowLngLat[0]=res.position.getLng();
        nowLngLat[1]=res.position.getLat();
        req();
    };
    function onError(){    			//定位失败
        showPop('#location-pop');
    };

    function req(){
        //请求数据
        var xhr=new XMLHttpRequest();
        xhr.open('get','../js/data.json',true);
        xhr.send();
        xhr.addEventListener('readystatechange',function () {
            if(xhr.readyState==4){
                if(xhr.status==200){
                    showAdd(JSON.parse(xhr.responseText));
                }else if(xhr.status==404){
                    console.log('找不到页面');
                }else{
                    console.log('什么鬼');
                }
            }
        });
    }

    //显示标记
    function showAdd(res){
        var contents,		//所有的信息窗体的html
            infowindow,		//构造所有的信息窗体
            distance=[],		//当前位置和各个点之间的距离
            sortIdx;			//距离最近的点的索引值
        //计算当前和每个点之间的距离
        for(var i in res){
            distance[i]=Math.hypot(nowLngLat[0]-res[i].JD,nowLngLat[1]-res[i].WD);
        }
        //最小值的索引值
        sortIdx=distance.indexOf(Math.min.apply(Array,distance));

        //信息窗体和初始化点标记
        contents='<div class="info-title">'+res[sortIdx].shop_name+'</div>'+
                    '<div class="info-content">'+
                    '<p>地址：'+res[sortIdx].address+'</p>'+
                    '<p>电话：'+res[sortIdx].mobile+'</p>'+
                    '</div>';
        var marker = new AMap.Marker({
            position: [res[sortIdx].JD,res[sortIdx].WD]
        });
        marker.setMap(myMap);
        myMap.plugin('AMap.AdvancedInfoWindow', function () {
            infowindow = new AMap.AdvancedInfoWindow({
                content: contents,
                offset: new AMap.Pixel(0, -30),
                // transit:true
                // driving:true,
                // walking:true,
                // asDestination:true,
            });
            infowindow.open(myMap,[res[sortIdx].JD,res[sortIdx].WD]);
        });
        marker.on('click',function () {
            infowindow.open(myMap,[res[sortIdx].JD,res[sortIdx].WD]);
        });
    }
}
